Дослідження канальних протоколів зі зворотним зв`язком

[ виправити ] текст може містити помилки, будь ласка перевіряйте перш ніж використовувати.

скачати

Кафедра: «Автоматика та інформаційні технології»
Лабораторна робота
"ДОСЛІДЖЕННЯ канальних протоколів зі зворотним зв'язком"

Введення
Рівнева архітектура і принцип функціональної модульності - основа побудови сучасних складних технічних систем. Організація системи з розбивкою її на ієрархічно підпорядковані функціональні рівні, кожен з яких не зобов'язаний знати деталі внутрішнього устрою інших рівнів, представляючи їх собі у вигляді «чорного ящика» з відомими лише вхідними і вихідними сигналами, зарекомендувала себе у світовій практиці як раціональна і що полегшує процес проектування, реалізації та експлуатації систем. Відомо, що стосовно до мереж передачі даних, цей принцип отримав статус міжнародного стандарту, наріжним каменем якого є «Еталонна модель взаємодії відкритих систем» (ЕМ_ВОС, OSI - Open Systems Interconnection) (стандарт ISO-7498, 1978 р.; стандарт МККТТ (ITU -T) Х.200)

1. Предмет і завдання дослідження
Предметом дослідження в даній лабораторній роботі є протоколи 2-го, канального рівня OSI-моделі, які оперує кадрами. Від верхніх функціональних рівнів сторони-відправника на канальний рівень надходить повідомлення, що представляє собою «пакет даних» джерела, який піддається кадрування. Стандартна структура кадру - це заголовок, власне дані і кінцевик. [1]
На приймальному боці канальний рівень розбирає кадр і передає на більш високий рівень тільки саме повідомлення [2].
Завданням дослідження є вивчення протоколів як таких, оцінка їхньої ефективності використання в каналах з різними технічними характеристиками, зіставлення оцінок та формулювання умов раціонального застосування тих чи інших версій канальних протоколів.
На ефективність впливає безліч чинників. Щоб їх врахувати, оцінюючи роботу того чи іншого протоколу в різних умовах реальної мережі, потрібно затратити багато часу. Крім того, потрібно розташовувати інструментарієм для проведення тривалих експериментів, не кажучи вже про адміністративне доступі до каналів для цих цілей. Цей спосіб дослідження найбільш витратний і трудомісткий. Допомогти у вирішенні цього завдання може тільки комп'ютерне моделювання.

2. Два підходи до організації каналів в мережевих системах передачі
Перша стратегія характерна для систем з так званим попереднім встановленням з'єднання, коли між двома кореспондуючими пристроями встановлюється (і підтримується протягом сеансу обміну даними) постійний тракт (перетворень сигналів і його просування в напрямку до одержувача), а всі кадри в одній сесії обміну проходять в мережі з цього тракту по одному маршруту послідовно один за одним. У цій же природної послідовності вони виявляються і в одержувача. При цьому стандартні протоколи канального рівня, як правило, використовують завадостійке кодування для виявлення помилок в кадрі. Природно, що завдання полягає не тільки у виявленні помилок, а й у виконанні необхідних дій для її нейтралізації. Після виявлення помилок на приймальній стороні може бути, принаймні, два варіанти подальших протокольних дій:
1). Або якось дати знати про це передавальній стороні, тим самим ініціювавши повторну передачу кадру (як прийнято говорити, «обробивши помилку» на канальному рівні);
2). Або пропустити кадр з помилкою на більш високий рівень, попередньо «помітивши» його. У цьому випадку обов'язок обробити помилку повинен прийняти на себе більш високий рівень системи.
При цьому, через можливі повторних (бути може, багаторазових) передач спотворених кадрів, час доставки кадру, взагалі кажучи, стає величиною випадковою. Протоколи даного класу, коли прийомна сторона повідомляє передавальної, що бачить помилки в надійшов кадрі, називаються протоколами з вирішальною зворотним зв'язком (рішення про вірність кадру покладається на приймальну сторону).
Друга стратегія властива так званому дейтаграммному режиму роботи системи передачі даних, коли попереднє з'єднання кореспондентів не встановлюється, а передавач відправляє кадри в мережу, не погодившись з ситуацією в одержувача (вільний, зайнятий, працездатний чи ні) і в системі в цілому. При цьому різні дейтаграм [3] можуть йти різними маршрутами, з різною тимчасовою затримкою в мережі. Прядок надходження дейтаграм до одержувача стає випадковим («раніше відправлена ​​- пізніше вступила»). Зібрати всі дейтаграм в одне впорядковане ціле є завданням 4-го, транспортного рівня Сторони-одержувача. У такому режимі канальний рівень не відповідає за організацію зворотного зв'язку і взагалі за забезпечення вірності кадру [4].

3. Протоколи канального рівня
На протокол канального рівня, звичайно, покладаються функції переміщення пакету даних у точку розташування приймача і забезпечення його вірності. [5] Протоколи канального рівня можуть бути расклассифицировать наступним чином.
1). Протоколи багаторазової передачі, тобто багаторазового повторення одного і того ж кадру стороною-відправником з мажоритарною системою (за принципом голосування) прийняття рішення про наявність помилок на стороні одержувача. Додатково вони можуть бути розділені на протоколи з голосуванням з приводу кожного біта або з приводу кожного кадру (кодового слова) у цілому. Ці протоколи не вимагають обов'язкового використання сигнальної надмірності у формі завадостійкого кодування.
2). Протоколи з використанням одноразової передачі кадру, закодованого завадостійким кодом, з прямим виправленням помилок засобами декодера приймального пункту.
3). Протоколи зі зворотним зв'язком. Розрізняють вирішальну і інформаційну зворотний зв'язок. У протоколах з вирішальною зворотним зв'язком (РІС) використовуються кодовані сигнали, які дозволяють виявляти помилки засобами декодера на приймальній стороні. У разі виявлення помилок передавальному модулю по зворотному каналу передається запит на повторну передачу кадру. Це найважливіший протокольний акт у справі «просування кадру» у бік одержувача та забезпечення вірності прийому цього кадру. Протоколи з РІС називають також протоколами ARQ (Automatic Repeat Request - автоматичний запит на повторення).
4). Четвертий метод називається протоколом з інформаційною зворотним зв'язком (ІОС), або з «луна-сигналом". Відповідно до цього методу, передавальний модуль зберігає копію переданого пакета в своєму буфері. Приймаючий модуль поміщає отриманий кадр в буфер приймача і транслює його назад відправнику, який порівнює отриманий їм назад кадр з кадром, що зберігається в буфері передачі. Якщо кадри збігаються, то вважається, що пакет, що міститься в буфері приймача, не містить помилок. Протоколи ІОС не обов'язково повинні використовувати завадостійке кодування для забезпечення вірності, так як відповідальність за вірність лежить на стороні, яка має в своєму розпорядженні достовірним знанням про переданих даних.
Природно, що застосування методу багаторазового передачі не виключає в принципі попутного використання і механізму зворотного зв'язку, але такі версії протоколу, звичайно, малоефективні і не знаходять скільки-небудь широкого застосування.
В обох підходах (з зворотними зв'язками і без них) протокол канального рівня, прагнучи знайти і (або) виправити помилки, вимагає внесення, крім сигнальної (бітової) надмірності (при завадостійке кодування), ще й протокольної надмірності [6].
У даній лабораторній роботі досліджуються варіанти протоколів зі зворотним зв'язком. Вони повинні бути розглянуті тут більш докладно.
3.1 Канальні протоколи ARQ (РІС)
При розгляді протоколів ARQ будемо вважати, що пакети даних передаються від станції-відправника A до станції-одержувачу B. Між цими пунктами існують два канали - прямий A ® B і зворотний A ¬ B. Кадри даних (A ® B) і технологічні (A ¬ B) захищаються надлишковим циклічним кодуванням (CRC). На обох сторонах проводиться виявлення помилок у пакетах.
3.1.1 ARQ із зупинкою та очікуванням (SAW - Stay And Wait)
Найпростіша версія протоколу з повторною називається протоколом із зупинкою і очікуванням. Основна ідея протоколу полягає в тому, що передавальний модуль, відправивши кадр, зупиняється і чекає реакції приймальної сторони. Передавач не відправить наступний пакет даних (кадр) до тих пар, поки в тій чи іншій формі не відбудеться підтвердження вірності. Використовується термін «повідомлення», або «квитанція» ACK (acknowledge), якщо помилки не зафіксовано або NAK (negative acknowledge), якщо кадр прийнятий з помилками.
Цей протокол вимагає мінімального обсягу буферної пам'яті: для одного пакету на стороні передавача A і для пакету на стороні приймача B.
Суттєву роль відіграє тайм-аут Т очікуван, точніше сказати, ті протокольні дії, які робляться у разі відсутності реакції приймальної сторони протягом розрахункового часу. Типове рішення полягає в тому, що після закінчення тайм-ауту ситуація прирівнюється до вступу NAK. Таке рішення прийнятно, якщо час доставки пакетів у каналі (в мережі) - величина постійна.
Протокол може повести себе некоректно, якщо пакети даних або повідомлення ACK / NAK затримуються в каналах на випадковий час. Як сам кадр, так і ACK або NAK можуть бути втрачені. Така втрата може відбутися в результаті збою, нештатної ситуації або просто тривалого очікування в черзі на обслуговування в пам'яті якого-небудь комутаційного вузла у розгалуженій мережі з маршрутизаторами. Якщо після закінчення тайм-ауту ситуація прирівнюється до вступу NAK, то повторна передача пакета даних може привести до дублювання пакету даних на приймальній стороні. У потік пакетів відбувається «вставка пакету», тобто своєрідне спотворення переданих даних.

Ці явища - наслідок знеособленості повідомлень ACK і NAK.
3.1.2 ARQ з поверненням на n кроків назад (GBn - Go Back n)
Для попередження подібних ситуацій повинна використовуватися нумерація пакетів. Разом з кожним кадром передається унікальний порядковий номер (ПН) міститься в ньому пакета. [7] Станція-одержувач B зберігає номер останнього пакету, що надійшов без помилок і анулює всі знову надходять кадри, якщо раніше вона їх вже отримала без помилок, тобто . ігнорує дублікати.
Протокол відправляє чергові кадри даних відразу слідом за першим, не чекаючи, поки прийде підтвердження в надії, що «все обійдеться», адже ймовірність отримати кадр з помилками, звичайно, менше, ніж без помилок. Станція-відправник виробляє посилку серії з n кадрів, рахуючи від останнього пакету, що отримав підтвердження вірності. Всі ці посли, але не підтверджені кадри повинні залишатися в буфері передавача з тим, щоб бути витягнутими з метою повторної передачі, якщо прийде негативне підтвердження (або бути віддаленими, якщо підтвердження буде позитивним).
Природно, як і колись, сторона-отримувач повинна тим або іншим способом підтвердити вірність всіх пакетів потоку. Як і раніше, якщо підтвердження на який-небудь кадр негативно, кадр повинен бути повторно переданий.
Існує дві стратегії повтору:
а) повторити групу кадрів, починаючи з того, на який не надійшло повідомлення ACK;
б) повторити вибірково тільки ті кадри з послідовності довжиною n, в яких декодером були виявлені помилки.
Протокол ARQ з поверненням на n кроків назад є прикладом протоколу, в якому використовується метод безперервної передачі з обробкою помилковою передачі кадру за варіантом (а), «з поверненням».
Використання зворотного каналу виключно для посилки підтверджень - це окремий випадок. Більш загальний випадок полягає в тому, що дані між пунктами А і В передаються (або можуть передаватися) в обох напрямках. Тоді по зворотному каналу [8] також йде і потік пакетів даних від станції B до A. У цьому випадку нумеровані підтвердження надсилається в спеціально виділеному бітовому полі заголовка пакетів даних зворотного напрямку (а не у формі спеціалізованого кадру).
Повідомлення про вірність пакету набуває нового змісту: будь-який з кореспондуючих пунктів (А і В), відправляючи пакет даних, в заголовку кадру вказує номер пакета (НП) і номер очікуваного пакета даних від протилежної сторони (не дуже вдало званий в стандартах «номером запиту» - НЗ). Нумерація пакетів у сеансі повинна починатися з нуля. Номер запиту - це свідоцтво для віддаленої сторони, що всі пакети з меншими номерами успішно досягли пункту призначення (помилки в них не зафіксовані). Якщо сторона до моменту отримання НЗ не вичерпала регламент на передачу поспіль n пакетів, то вона повинна перенести початок відліку регламенту на точку (НЗ-1) у потоці відправляються пакетів і тим самим знову здобути можливість передавати без підтвердження ще n пакетів підряд. Якщо до моменту отримання НЗ передавальна сторона вичерпала регламент, то протокол повинен буде для повторної передачі пакетів зробити «відкат назад», але на величину не більше n пакетів. Так виникає поняття «ковзаючого вікна з n пакетів», а протоколи ARQ в такій реалізації називають протоколами ARQ з ковзаючим вікном пакетів.
Якщо інтенсивність спотворення пакетів мала, то число безупинно переданих пакетів може бути дуже великим. Ефективність використання пропускної здатності каналів з таким протоколом може бути досить високою.
Надіслані, але ще непідтверджені пакети, залишаються в буферній пам'яті станції-відправника. Протокол ARQ з поверненням на n кроків назад вимагає буферної пам'яті не менше, ніж на n пакетів на стороні відправника A і на один пакет на стороні одержувача B. [9]
Тепер відзначимо, що потрібний номер (як пакету, так і підтвердження) при роботі з вікном з n пакетів може належати обмеженому безлічі чисел {0, 1, 2 ... (n -1)}. Мовою математики це може бути охарактеризований як нумерація по mod m, причому m> n. Мінімальний допустимий модуль дорівнює n + 1.

3.1.3 ARQ з вибірковим повтором (SR - Selective Repeat)
Протокол ARQ з вибірковим повтором також використовує метод безперервної передачі з вікном на n кадрів, але обробка помилковою передачі відбувається зі стратегії (б) (див. вище).
Протокол орієнтований на дейтаграммний режим, який не гарантує надходження пакетів на приймальний пункт у тій же послідовності, в якій вони відправлені передавальним модулем. У цих умовах протокол з вибірковим повтором уникає зайвих повторних передач, але в цьому протоколі не можуть застосовуватися нумеровані підтвердження у вигляді НЗ, тому що номер запиту служить груповим підтвердженням для пакетів з номерами, меншими поточного НЗ. У протоколі ж з вибірковим повтором кожне підтвердження повинне бути строго індивідуально зіставлять своєму пакету. Пакети мають нумеруватися за модулем, але модуль m повинен тут обиратися, виходячи з умови m> 2 n.
Для роботи протоколу як на передавальній, так і на приймальній стороні необхідна буферна пам'ять не менше, ніж на n пакетів. Буфер на приймальній стороні необхідний, оскільки пакети, які надходять до неї у довільній послідовності, можуть бути пред'явлені одержувачу (як щось цілісне) не раніше, ніж будуть прийняті непомильними всі пакунки з n (включаючи і повторно надіслані) і всі пакети будуть впорядковані в пам'яті приймального пункту. Таке сортування пакетів необхідна, тому що в загальному випадку набір пакетів становить єдине ціле, і пред'явлення даних одержувачу з переставленими пакетами неприпустимо.


3.2 Канальні протоколи ІОС

3.2.1 «Ехо» з ретрансляцією по зворотному каналу всього кадру (Ехо1)
Нехай при передачі пакетів з пункту А в пункт B до структури кадру не пред'явлено жодних вимог щодо виявлення або виправлення помилок (немає надлишкових біт). При відправленні пакета даних в прямий канал копія пакету залишається в буфері передавача А. Приймаючий модуль В поміщає пакет у буфер приймача (без будь-якого аналізу) і тут же транслює його по зворотному каналу в бік відправника А. [10] Сторона-відправник A виробляє порівняння пакета, що зберігається в буфері передачі, з пакетом, що надійшли по зворотному каналу. Якщо порівняння не виявило розбіжностей, то вважається, що в пам'яті приймального пункту В знаходиться неспотворений пакет даних і можна передавати наступний пакет. Якщо ж зіставлення виявило розбіжність, то вважається, що пакет у пункті B помилковий, і передача такого пакету дублюється.
Протокол «помиляється» (пропускає помилку) тільки тоді, коли обидва кадри, прямий і зворотний, спотворюються помилкою однаковою конфігурації. У всіх інших випадках помилка буде виявлена.
3.2.2 «Ехо» з ретрансляцією контрольних біт CRC (Ехо2)
Частіше використовується інший різновид цього протоколу: оговтується в прямий канал пакети даних в передавальному модулі кодуються завадостійким циклічним кодом, контрольні біти CRC зберігаються в буфері, а в канал відправляються тільки біти даних. На приймальному боці пакет даних зберігається в буфері і теж кодується. Сформовані біти CRC відправляються по зворотному каналу передавальному модулю А. Проводиться порівняння контрольних біт. На підставі цього порівняння робиться висновок про вірність пакету в буфері приймача пункту B.
Найпростішим варіантом роботи модуля-відправника є відправлення пакета по прямому каналу і очікування, поки по зворотному каналу не прийдуть його контрольні біти (аналогічно алгоритму ARQ із зупинкою та очікуванням). Однак може використовуватися, так само, як у протоколах з РІС, і метод безперервної передачі пакетів із супутньою нумерацією, механізмом «вікна» і всіма витікаючими протокольними діями. [11]
Непомічені помилки можуть виникнути в двох випадках:
- По-перше, при такому спотворенні кадру, якому не супроводжує зміна контрольної суми, тобто коли вміст кадру спотворилося, але таким чином, що знову обчислені контрольні біти збігаються з контрольними бітами, обчисленими для колишнього (неспотвореного) кадру. [12]
- По-друге, коли кадр перекручений у прямому каналі, на приймальній стороні отримано своє значення CRC, яке при передачі по зворотному каналу піддалося такого спотворення, що співпало з CRC передавача, що відображає відправлений (неспотворений) пакет.


4. Ефективність протоколів зі зворотним зв'язком

Як випливає з рис. 1, у відсутність помилок у каналах час передачі пакету даних під управлінням розглянутого протоколу дорівнює тривалості протокольного циклу Т ПЦ. Як вже було зазначено, в цьому часі циклу можна виділити частку «корисного», «чистого» часу, пов'язаного з транспортуванням біт даних, і є час, який повинен бути віднесено до «накладних витрат», обумовленим особливостями протоколу.
Якщо помилки в сигналах на фізичному рівні не виключені, то передача одного пакету даних може вимагати двох протокольних циклів або трьох або ще більшого їх числа. Отже, в загальному випадку в розглянутому протоколі час доставки пакета даних (без помічених на приймальній стороні помилок) є величина випадкова.
Беручи це до уваги, ефективність протоколу зазвичай, пропонується оцінювати показником, схожим на поняття ККД в техніці, який відображає вплив різних чинників, що діють в системі передачі

Якщо є можливість спостерігати процес передачі даних досить тривалий час, чисельне значення U можна знайти експериментально:
, (1)

де T передачі - сумарний час, протягом якого станція-відправник передає в канал кадри даних.
T спільне - загальний час, витрачений на передачу, включає T передачі плюс час, витрачений на обробку, очікування, повторні передачі кадрів та інші накладні витрати.
4.1 Ефективність протоколу ARQ-SAW
Простежимо вплив на ефективність різних параметрів.
Протокольний цикл в даному випадку включає (див. рис. 1)
T ПЦ = 2 T з + T пк + T пACK + T ок + T оACK (2)
Тут:
T пк - час передачі кадру даних в прямий канал (пропорційно довжині кадру і тактовому інтервалу);
T пACK - час передачі сповіщення ACK або NAK (пропорційно довжині сповіщення і тактовому інтервалу в зворотному каналі);
T з - затримка з-за кінцевого часу поширення сигналу в фізичному середовищі (вважається, що вона однакова в прямому і зворотному каналах);
T ок - інтервал «обробки» кадру декодером прямого каналу;
T оACK - інтервал обробки повідомлення декодером зворотного каналу.
З формули і рис. 1 видно, що накладні витрати часу в межах одного протокольного циклу можуть бути дуже різними в залежності від «гри параметрів» в тих чи інших конкретних умовах. Наприклад, якщо з малою швидкістю передаються довгі кадри даних, можливо, що дослідник визнає за можливе знехтувати величинами T пACK, T ок і T оACK. Прийнявши це припущення і тимчасово припустивши відсутність помилок в кадрах (ніякої кадр не передається двічі), отримаємо ефективність

. (3)
Якщо зняти допущення про безпомилкових кадрах (нехай ймовірність помилки в кадрі дорівнює P к), то кожен кадр буде передаватися в середньому не 1 раз, а N п разів (з-за повторних передач), причому
N п = . (4)
Тому ефективність знизиться в N п разів:
, (5)
Одним з факторів, що впливає в даному випадку на величину U є інтенсивність помилок у пізнанні біт на фізичному рівні. Зі збільшенням імовірності походження помилки знижується ефективність протоколу, тому що відбувається більше повторних передач.
З наведених формул видно, що ефективність U залежить також від відношення (T з) / T пк. Якщо (T з) / T пк <<1 (затримка невелика в порівнянні з довжиною кадру, вираженої в одиницях часу), то ефективність швидше за все буде близька до одиниці.
Вищесказане відноситься до найпростішого протоколу з автоматичним запитом на повторення.
4.2 Ефективність протоколів ARQ - GBn
Більш складні міркування для протоколу з поверненням на n кроків назад. Його ефективність буде залежати ще і від параметра n.
Припустимо, помилок в кадрах не відбувається. Нехай також вікно досить широке, а час затримки досить мало:
2 T з <nT пк (6)
Припустимо, що перше у відповідь підтвердження встигне прийти до того, як буде переданий останній n-й кадр вікна. Вікно буде безперервно ковзати, а передавач жодного разу не повернеться назад для повторної передачі, тому що всі кадри будуть своєчасно підтверджені. У цьому випадку, якщо знехтувати часом обробки кадрів на сторонах каналу, ефективність дорівнює 100%.
Якщо з яких-небудь причин нерівність (6) не виконується (вікно мало, або занадто велика затримка розповсюдження, або передається дуже багато біт в одиницю часу), то навіть при відсутності помилок в кадрах доведеться проводити повторне передачу внаслідок того, що підтвердження спізнюються.
Наявність помилок в кадрах прямого напрямки викликає повернення назад і повторну передачу до n додаткових кадрів для кожного помилкового кадру. Наприклад, навіть при виконанні нерівності (6) ефективність вже не буде 100%-ною. Якщо все треба передати N кадрів, а серед них спотворюються в середньому NP до кадрів, то
. (7)
Як було зазначено вище, джерелом неефективності протоколу з поверненням на n кроків назад також можуть бути наявність помилок у зворотному каналі і довгі кадри зворотного напрямку. Іноді втрати ефективності через цих причин можуть бути зменшені шляхом вибору більшої ширини вікна n.

4.3 Ефективність протоколу ARQ - SR
Як говорилося раніше, протокол з вибірковим повтором відрізняється від протоколу з поверненням на n кроків назад стратегією обробки помилок в кадрах. Тому за відсутності помилок його ефективність залежить від тих же факторів.
Більш дієво працює протокол з вибірковим повтором за наявності помилок, тому що в цьому випадку повторно передаються тільки спотворені пакети. Теоретично, при вибірковому повторі може бути досягнута гранично можлива ефективність в умовах присутності помилок, рівна U = 1 - P к.
4.4 Ефективність протоколів ІОС
Розглянемо коротко питання про ефективність протоколів з інформаційної зворотним зв'язком. Нагадаємо, що при протоколі з ретрансляцією всього пакету кожен пакет змушений передаватися не менш, ніж двічі: один раз по прямому каналу і один раз по зворотному. Тому його ефективність, як правило, менше 50%. Для протоколу з ретрансляцією CRC значення U буде визначатися використовуваним циклічним кодом. [13] Взагалі кажучи, ефективність протоколів з ​​ИОС буде теж визначатися стратегією роботи передавача: зупиняється той чи ні після посилки першого кадру, очікуючи луна-сигналу, який тут виступає як аналог підтвердження . Характер залежності ефективності від цих факторів аналогічний протоколами з РІС.
Наведені формули для величини U не відображають всієї повноти протокольних нюансів і покликані лише пояснити поняття ефективності. Більш ретельний підхід до справи має враховувати ненульові часи обробки кадрів і сповіщень, потрібно брати до уваги те, що кадри можуть мати змінну довжину, брати в розрахунок наявність тайм-аутів, а також можливість появи помилок пачками і ін
Альтернативою використанню формул є моделювання передачі даних під керуванням тих чи інших протоколів у нас цікавлять умовах.
Додамо, що загальна оцінка того чи іншого рівня каналу не повинна обмежуватися лише оцінкою його ефективності. Важливе місце при цьому займає також питання, наскільки помехоустойчів метод кодування / декодування. Якщо високоефективний в сенсі величини U протокол використовує для кодування пакетів код зі слабкою завадостійкістю, то багато помилок не буде відмічено і одержувачу будуть передані недостовірні дані.
Має сенс говорити про забезпечення ефективності U при забезпеченні завадостійкості не менше заданої.


5. Моделююча програма OSI_2

Лабораторна робота проводиться за допомогою комп'ютерної програми, що моделює роботу протоколів канального і тільки канального рівня. Вона імітує ті процеси зі зворотним зв'язком, які відбуваються після того, коли на 2-й рівень одного пристрою мережі (станції-відправника) з вищого рівня надходить пакет даних, призначений до передачі на 2-й рівень іншого пристрою мережі (станції-одержувача) . Модель «не бачить» процеси отримання доступу до середовища розповсюдження сигналів. Передбачається, що постійне з'єднання станцій-абонентів вже заздалегідь встановлено, що процедури «розборки» повідомлень на пакети на передавальній стороні і «збірки» їх у повідомлення на приймальні не віднімають часу і не створюють проблем. Не моделюються вставки і випадання кадрів.
Це всі явища, які не відносяться до канального рівня за класифікацією OSI-моделі систем.
Імітуються процеси, що протікають на канальному рівні з моменту надходження пакету даних від вищого рівня: кадрування, кодування та відправлення кадрів, вплив помилок, що виникають на фізичному рівні, прийом і декодування з використанням циклічного коду з заданим породжує многочленом.
В якості одиниці модельного часу прийнятий ВТ (BitTime), тобто один тактовий інтервал, протягом якого передається один біт в точці порту користувальницького комп'ютера (або іншого джерела даних).
У процесі імітації передачі відбувається облік загального часу передачі (безлічі пакетів), а також збір статистичних даних, які дозволяють оцінити і порівняти ефективність різних протоколів канального рівня в залежності від тих чи інших характеристик каналу, пакету, характеру і інтенсивності помилок, визначених дослідником.

5.1 Функціональні модулі моделі
У каталозі програми OSI_2 знаходиться виконуваний файл osi_2.exe і два підкаталоги:
· IN
· RESULTS
У каталозі IN зберігаються файли з вхідними даними для роботи програми, що мають розширення *. in. У каталозі RESULTS - текстові файли з результатами моделювання програми, що мають розширення *. txt.
Для роботи програми потрібно комп'ютер IBM PC c ОС Windows'9X, Windows NT 4.0, Windows 2000 або ХР.

5.2 Функціональна схема користувальницького інтерфейсу

Функціональна схема інтерфейсу з користувачем наведена на рис. 2.
Після запуску програми на екрані з'являється головне вікно програми. У верхній частині вікна знаходиться Головне меню програми. Під головним меню розташована Панель управління, яка для зручності роботи з програмою містить кнопки швидкого виклику операцій. Під панеллю керування розташована Область перегляду результатів моделювання. Внизу головного вікна розташована Панель стану моделі (підказок).
Головне меню містить наступні пункти:
· Файл
· Параметризація
· Моделювання
Позиція Файл головного меню містить наступні пункти:
· Створити - очистити область перегляду головного вікна і параметри моделювання, приготувавши їх для введення специфікацій вхідних даних.
· Відкрити - відкрити текстовий файл для перегляду в головному вікні програми. Призначений для перегляду збережених результатів попередніх прогонів моделі.

Рис. 2. Функціональна схема користувальницького інтерфейсу
· Зберегти - зберегти результати моделювання в текстовому файлі.
· Зберегти як ... - зберегти результати моделювання у файлі з іншим ім'ям.
· Друк - вивести результати моделювання (вміст області перегляду) на принтер.
· Вихід - вихід з програми.
При виборі пункту Параметризація з'являється діалогове вікно встановлення параметрів моделі.
Позиція Моделювання головного меню містить два пункти:
· Почати моделювання;
· Результати моделювання;
Вибір пункту Почати моделювання запускає процес моделювання передачі даних. При цьому з'являється вікно з індикатором ходу (відсотка виконання) процесу моделювання. При натисканні на кнопку Відміна система просить підтвердити припинення процесу моделювання. При завершенні або припинення моделювання в головне вікно програми виводяться результати моделювання.
Вибір пункту Результати моделювання призводить до висновку в головне вікно програми результатів останнього моделювання (Це можуть бути і результати попередніх прогонів моделі, якщо завантажити файл результатів іншого процесу).
Позиція «?» Головного меню містить пункт Про програму, при виборі якої виводиться інформація про програму.
Під головним меню розташована Панель управління, яка для зручності роботи з програмою містить такі кнопки:
· Створити (Очистити від старого і створити)
· Відкрити ...
· Зберегти
· Зберегти як ...
· Параметризація моделі
· Почати моделювання

5.3 Параметризація моделі

При виборі пункту Параметризація з'являється діалогове вікно встановлення параметрів моделі. Це вікно містить дві закладки: Протокол і Канал, які призначені для введення параметрів протоколу і каналів (прямого і зворотного).
5.3.1 Параметризація протоколу
При виборі закладки Протокол з'являється вікно, показане на рис. 2. У даному вікні задаються наступні параметри протоколу.
1). Тип модельованого протоколу:
· ARQ із зупинкою та очікуванням;
· ARQ c вікном на N пакетів;
· ARQ c вибірковим перепитати;
· «Ехо» з ретрансляцією кадру;
· «Ехо» з ретрансляцією CRC;
2). Породжує поліном циклічного коду:
CRC-12, CRC-16, CCITT-16, CRC-32. [14]
Кожен кадр (як прямий, так і зворотний) має бітове поле CRC з розміром, рівним ступеня породжує полінома, і поле інформаційних біт. І в прямому, і в зворотному кадрах інформаційна частина несе власне дані, які передаються (у зворотному кадрі інформаційні біти порожні). Порядкові номери кадрів і підтверджень, хоча передаються разом з кадром, не займають місця в його довжині, тому що знаходяться в заголовку.


Рис. 2. Вікно параметризації протоколу
3). Тайм-аут на підтвердження пакету і час, що витрачається на обробку кадрів (у тому числі на кодування і декодування). Таймер починає відлік з моменту закінчення передачі кадру. Одна і та ж величина тайм-ауту діє як для станції - відправника, так і одержувача.
Оскільки модель не враховує можливу втрату кадрів в мережі, то механізм тайм-ауту відсутня в протоколах без вікна Значення тайм-ауту в цьому випадку може бути будь-яке, навіть нульове. У протоколах з вікном тайм-аут може мати (за замовчуванням) нульове значення, що припустимо, але небажано.
Час в моделі вимірюється в BT (bit-time). Один ВТ відповідає часу передачі одного біта в прямому каналі. BT при необхідності може бути виражена в секундах, якщо названа пропускна спроможність (швидкість) каналу (біт / с). Тайм-аут задається від моменту закінчення передачі пакета.
4). Задається допустиму кількість спроб передачі одного пакета. При перевищенні цього числа моделювання припиняється. Якщо це число задається рівним нулю, то облік кількості спроб передачі не проводиться.
5). Для протоколів ARQ з вікном на N пакетів і ARQ з вибірковим переспросів необхідно задати значення модуля нумерації пакетів. В залежності від модуля нумерації і типу протоколу модель обчислює «ширину вікна». Вибір модуля нумерації слід пов'язувати зі швидкості передачі даних та затримки поширення сигналу в лінії. Для протоколів ARQ із зупинкою та очікуванням і протоколів з ехо-сигналом модуль нумерації пакетів приймається рівним двом.
6). Довжини кадрів окремо в прямому і зворотному каналах. У цьому ж вікні задається обсяг переданих даних (довжина файлу, який розглядається як користувальницьке повідомлення).
При завданні довжин кадрів і обсягу переданих даних є можливість вибору одиниці виміру. Довжина кадрів прямого напряму може бути постійною або змінною. Можна вибрати кадри даних постійної або змінної довжини. При завданні постійної довжини кадру вказується безпосередньо ця довжина. При завданні змінної довжини кадру вказується максимальна і мінімальна довжина. [15] В останньому випадку при моделюванні генеруються кадри з довжиною, рівномірно розподіленої в інтервалі від мінімальної заданої до максимальної. Довжина кадрів у зворотному напрямку може бути тільки постійною.
УВАГА: довжини кадрів прямого і зворотного потоку визначаються за різними правилами. У полі з назвою «Довжина пакету даних» діалогового вікна потрібно ввести повну довжину кадру прямого напрямки, включаючи контрольні біти. У полі «Довжина пакету підтвердження» очікується введення довжини тільки інформаційної частини кадру підтвердження, не рахуючи контрольних біт. Наприклад, якщо в першому полі введено 32, а в другому 2 і використовується код CRC-16, то прямі кадри будуть мати загальну довжину 32 біта, з яких 16 контрольні, а зворотні кадри будуть мати довжину 18 біт, з яких 16 контрольні, а 2 інформаційні.
Для протоколів з ехо-сигналом поле довжини зворотного кадру не грає ролі, оскільки довжини зворотних кадрів визначаються довжинами прямих.
5.3.2 Параметризація каналів
При виборі закладки Канал з'являється вікно завдання параметрів прямого та зворотного каналів. Для кожного каналу можна задавати такі параметри:
1). Швидкість передачі (в біт / c і кратних величинах). [16] Швидкість зворотного каналу не повинна бути більше, ніж швидкість прямого. Якщо вона менша, то в ціле число разів.
2). Затримка поширення сигналу в каналі (і, отже, неявно задана довжина);
3). Характер помилок: незалежні або помилки типу «пачка».
При моделюванні роботи каналів з ​​незалежними помилками [17] задається р б - ймовірність помилки в прийнятому бите на фізичному рівні. При моделюванні роботи каналів з ​​групуванням помилок задається ймовірність появи пачки помилок р пач, а також математичне очікування і дисперсія довжини пачки (довжина пачки - випадкова величина з нормальним розподілом).
5.4 Моделювання
Меню Моделювання містить два пункти:
à Почати моделювання - запуск процесу моделювання;
à Результати моделювання - відображення результатів у області перегляду.

Результати моделювання та їх інтерпретація

Після закінчення моделювання на екран виводиться (для довідки) зведення вхідних параметрів даного запуску моделі, а потім як результати відображаються наступні статистичні дані, накопичені в процесі моделювання:
à Загальний час передачі (в одиницях BT і в секундах), засікається починаючи з моменту передачі початку першого пакету станцією-відправником, аж до моменту прийому останнього пакету станцією-одержувачем;
à Розмір переданого файлу - загальний обсяг даних, що призначалися до передачі та надійшли від вищого рівня (в байтах). Кожен відправляється в процесі передачі кадр прямого напрямки несе у своєму інформаційному полі порцію біт із загального обсягу.
à Результуючі дані у сторони-відправника:
«Відправлено біт» - загальна кількість відправлених в кадрах біт (в повному обсязі, вважаючи біти CRC);
«Відправлено пакетів» - загальна кількість відправлених кадрів, які довелося послати для передачі загального числа біт, включаючи повторні кадри;
«Відправлено пакетів даних» - кількість кадрів, які довелося послати для передачі загального числа біт, не рахуючи повторні кадри, тобто число унікальних (не повторних, «корисних») відправлених кадрів;
«Отримано пакетів з помилками» - кількість кадрів, при передачі яких через лінію в них виникли помилки;
«Виявлено пакетів з помилками» - кількість кадрів, в яких виникнення помилок було виявлено декодером приймальної сторони; [18]
à «сумарна вага помилок» - загальне число викривлених біт.
à Результуючі дані у сторони-одержувача, які інтерпретуються аналогічним чином.

Приклад вихідних даних моделювання. Розмірність і позначення величин

Специфікації протоколу
L кд ........................................ Довжина кадру, біт 2000
L аск ............. Довжина кадру підтвердження, біт 16
T out ............................ Значення тайм-ауту, ВТ 2400
T код ............ Час на кодування кадру, ВТ 0
Породжує поліном .................. CRC-16
m ......................... Модуль нумерації кадрів 7
B m .............................................. Ширина вікна 6
Прямий канал
C пк .......................... Швидкість передачі, біт / c 65536
Т зп, пк ......................... Запізнювання сигналу, з 0,00075
р б, пк ....... Імовірність виникнення помилки 0,001
р пач, пк Імовірність виникнення пачки помилок
L пач, пк .......... Мат. очікування довжини пачки, біт
D пач, пк ................ Дисперсія довжини пачки, біт
Зворотний канал
З ок .......................... Швидкість передачі, біт / c 65536
Т зп, ок ......................... Запізнювання сигналу, з 0,00075
р б, ок ....... Імовірність виникнення помилки 0,001
р пач, ок Імовірність виникнення пачки помилок
L пач, ок .......... Мат. очікування довжини пачки, біт
D пач, ок ................ Дисперсія довжини пачки, біт
Т МДЛ ...................... Час моделювання, ВТ 34466114
Т ПРД, ф ............................... Час передачі, сек 525,90
М ф .............. Розмір переданого файлу, байт 512000
Відправник (А)
Відправлено
N б, пк .............................................. .............. Біт 34466000
N к, пк .............................................. ........ Кадрів 17233
N кд, пк ....................................... Кадрів даних 2065
Отримано
N к, ош, ок Кадрів c помилками ...................... 288
N к, ЗОШ, ок Виявлено кадрів c помилками 288
Е w, ок .......................... Сумарна вага помилок 290
Одержувач (В)
Відправлено
N б, ок .............................................. .............. Біт 275728
N к, ок .............................................. ........ Кадрів 17233
N кд, ок ....................................... Кадрів даних 0
Отримано
N к, ош, пк Кадрів c помилками .................. 14879
N к, ЗОШ, пк Виявлено кадрів c помилками 14879
Е w, пк .......................... Сумарна вага помилок 34539
Ці дані можуть бути використані, для обчислення показника ефективності протоколу в тих чи інших умовах застосування, а також інші показники, необхідні конкретним завданням.

6. Програма лабораторних робіт
Модель протоколу може бути застосована для дослідження впливу різних факторів на ефективність протоколу в різних умовах його використання. Індивідуальне завдання повинно бути отримано від викладача. Воно може бути орієнтована на різні аспекти справи, наприклад:
Завдання 1. Зіставлення ефективності різних протоколів зі зворотним зв'язком у тих чи інших умовах (обмеження на довжину кадрів, запізнювання в каналах та ін.)
Завдання 2. Дослідження ефективності протоколів із зворотними зв'язками в залежності від інтенсивності помилок у каналах.
Дослідити, як впливає наявність помилок окремо в прямому і зворотному каналах на загальну ефективність протоколів з ОС.
Рекомендується наступний план роботи: для кожного протоколу зробити по 3 розрахунку ефективності U: за відсутності помилок, при ненульовий помилку в прямому каналі і нульовий в зворотному і навпаки. Всі інші параметри протоколу і каналу (пропускна здатність, довжина кадру прямого і зворотного напрямів і ін) треба підтримувати постійними. Заповнити таблицю (див. табл. 1).
На основі експериментальних даних зробити висновки, відповівши на питання:
· Як і чому змінюється ефективність, якщо ймовірність помилки в одному з каналів стає ненульовий?
· Помилки в якому каналі (прямому або зворотному) більше впливають на ефективність і чому так відбувається?

Таблиця 1. Ефективність протоколів залежно від інтенсивності перешкод
P б, пк
P б, ок
Ефективність протоколів
1
2
3
4
5
0
0
0,001
0
0
0,001
· Порівняйте ступінь впливу помилки на ефективність при різних протоколах і поясніть результат.
Завдання 3. Ефективність протоколу в системі з ідеальними (непомильними) каналами
При роботі протоколів без вікна в умовах відсутності помилок дослідити, як впливають на ефективність наступні параметри: пропускна здатність (біт / с), довжина кадрів, затримка розповсюдження. Вважати всі ці величини для прямого і зворотного каналів однаковими.
Рекомендується наступний план роботи: розраховувати ефективність, змінюючи один з трьох вищевказаних параметрів, залишаючи постійними всі інші. Результати звести у таблицю.
Таблиця 2. Ефективність протоколів у каналах без помилок
v пр = v обр
l пр = l обр, біт
T з (пр) = T з (обр), мс
1
2
3
4
1 Кбіт / с
32
0,001
1
500
0,001
1
1 Мбіт / с
32
0,001
1
500
0,001
1

7. Порядок виконання лабораторних робіт. Звіт
Лабораторна робота виконується відповідно до завдання, зазначеним викладачем. Прогін моделі та отримання звіту з вихідними даними - операція проста. Але з досвіду відомо, що раціонально заздалегідь спланувати послідовність своїх дій, особливо щодо призначення значень тих чи інших параметрів, наступних обчислень, побудови кривих.
Зміст звіту - це мотивовані формулювання і відповіді на питання відповідно до версії конкретного завдання, з необхідними ілюстраціями у формі цифрового матеріалу, кривих, графіків Загальний підхід до побудови звіту можна сформулювати наступним чином: «ілюстрації до висновків і висновків, а не навпаки».
Відомо з досвіду, що для оформлення звіту раціонально залучати можливості пакета EXCEL в частині обчислень за наперед відомим формулами, а також в частині побудови графіків за табличними даними.
Не слід наводити у звіті великих витягів з методичного керівництва. На нього достатньо посилатися, зберігаючи позначення величин.
Звіт повинен бути зброшурований, оформлений у відповідності зі стандартом і представлений до чергової лабораторної роботи для захисту.
7.1 Завершення лабораторного сеансу
По завершенні лабораторної роботи необхідно пред'явити викладачеві отримані дані. Крім того, необхідно привести робочі папки моделі в початковий вигляд, тобто видалити з папок IN і RESULTS всі файли, отримані в процесі роботи, і також пред'явити їх викладачеві. Папки IN і RESULTS повинні залишатися вільними.

Бібліографічний список
1). Бертсекас Д., Галлагер Р. Мережі передачі даних: Пер. з англ. - М.: Світ, 1989. - 544 с.
2). Халсалл Ф. Передача даних, мережі комп'ютерів і взаємозв'язок відкритих систем: Пер. з англ. - М.: Радіо і зв'язок, 1995. - 408 с.


[1] кінцевик канального рівня, як правило, представляє собою контрольні біти CRC циклічного коду (Cyclic Redundancy Check).
[2] Термінологія, що випливає з OSI-моделі, структурно не дуже проста і не завжди ретельно дотримується на практиці. Оскільки метою передачі є пакети даних, їх, звичайно, і мають на увазі в які б кадри на різних етапах у процесі перетворень вони ні наділялися. Незважаючи на те, що при дослідженні протоколів коректніше користуватися терміном «кадр j-рівня», у ряді випадків доводиться вживати термін «пакет даних» (див. нижче, наприклад, для користувача інтерфейс моделі).
[3] дейтаграм (від англійського datagram) - той же кадр і пакет даних, який, проте, долає мережа зовсім інакше, під керуванням інших протоколів
[4] Зворотній зв'язок у цьому випадку організує транспортний рівень приймальної сторони. Такий, наприклад широко використовувані протокол ТСР (його незмінний супутник - протокол IP займається передачею дейтаграм).
[5] Можна відзначити, що рівень каналу не є єдиним, який несе відповідальність за вірність переданого пакета даних. На практиці всі рівні OSI-моделі аж до прикладного в тій чи іншій мірі займаються забезпеченням вірності даних своїми засобами.
Іншою групою функцій канального рівня еталонної моделі є управління доступом до середовища в «багатоточкових» з'єднаннях Ці функції є окремою темою і не розглядаються в даній лабораторній роботі. Проте варто відзначити, що їх виділяють в окремий підрівень (УДС) канального рівня, а протоколи, що розглядаються в лабораторній роботі, відносять до подуровню «управління лінією передачі даних» (УЛПД).
[6] Назвемо ненадлишковим протокол, який зводиться до одноразової передачі сигналу в одному напрямку.
[7] Нумерація (ідентифікація) пакетів в протокольному відношенні виявляється непростим завданням. Проста, нехитра зростаюча (чи спадна) нумерація в потоці кадрів виявляється неприйнятною. Див, наприклад, [1].
[8] Поняття «прямий» і «зворотний канал» отримують вже тільки протокольний сенс. Один і той же фізичний тракт виступає то в ролі прямого, то зворотного каналу.
[9] Згадаймо тільки, що кожен з пунктів може виступати в ролі як відправника, так і одержувача даних.
Можна помітити також, що протокол з зупинкою і очікуванням схожий на протокол з поверненням на 1 крок назад, тобто є приватним виродженим випадком розглянутого протоколу, але з іншою формою підтвердження вірності (ACK і NAK).
[10] Трансляція пакету по зворотному каналу може починатися (якщо дозволяють технічні засоби) не чекаючи завершення прийому кадру по прямому каналу, тобто не чекаючи приходу останнього біта. Якщо кадри мають достатньо велику довжину, це може відчутно зменшити втрати часу у протокольному циклі.
[11] Це ж відноситься і до попереднього протоколу з ретрансляцією всього кадру даних.
[12] Це можливо, тому що потужність безлічі різних двійкових послідовностей даних (пакетів) багато більше потужності множини послідовностей CRC і, отже, одна і та ж послідовність CRC може бути породжена кількома послідовностями даних.
[13] [13] Ефективність точно менше 50%, якщо пункт-одержувач починає ретрансляцію пакету даних по зворотному каналу не раніше, ніж запише в буферну пам'ять останній біт з прямого каналу. Залежить від технічної реалізації, але можливі варіанти протоколу, в яких ретрансляція починається незабаром після запису в буфер перших біт пакета. А ось передача CRC по зворотному каналу не може початися раніше закінчення прийому кадру за прямим.
[14] Цифра в позначенні многочлена означає старшу ступінь многочлена. Конкретна структура многочлена в даній роботі не має значення.
[15] Довжина кадру даних не може бути обрана менше довжини CRC і більше, ніж 2 L -1, де L - ступінь многочлена породжує коду. Довжина кадру підтвердження вважається постійною і підпорядковується тим же обмеженням.
[16] При моделюванні вважається, що 1 Кбіт / с = 1024 біт / с; 1 Мбіт / с = 1024 Кбіт / с.
[17] У вікні інтерфейсу вони названі «поодинокими» (на противагу «пачками»), що не зовсім коректно.
[18] Оскільки моделююча програма сама генерує вектор помилки, то вона знає точно, трапилася помилка в окремому кадрі чи ні, і може підрахувати, скільки всього кадрів піддалося спотворенню при "проходженні через лінію". Насправді реальний функціонуючий модуль канального рівня системи передачі даних "дізнається" про виникнення помилки лише за фактом її виявлення декодером. Непомічена їм помилка, по суті, на канальному рівні помилкою не вважається: протокол її «не бачить».
Додати в блог або на сайт

Цей текст може містити помилки.

Комунікації, зв'язок, цифрові прилади і радіоелектроніка | Лабораторна робота
133.4кб. | скачати


Схожі роботи:
Передача інформації по каналу з вирішальною зворотним зв`язком
Переваги та недоліки систем з негативним зворотним зв`язком
Способи та пристрої терапії з біологічної зворотним зв`язком
Дослідження протоколів TCP IP
Складання протоколів
Стек протоколів TCPIP
Оцінка протоколів і предмет експертизи
Історія розвитку протоколів передачі даних
Розробка імовірнісної моделі криптографічних протоколів
© Усі права захищені
написати до нас